// JavaScript Document

var mno;
//商品数量的添加
function add(obj, cno){	
	//获取购物车中点击的商品数量
	var num = $(obj).prev().val();
	num++;	
	$.post("../../cartInfo/update", {cno:cno, num:1}, function(data) {
		data = parseInt($.trim(data));
		if (data > 0) {
			//数量写入标签中
			$(obj).prev().val(num);	
			//获取单价
			var price = $(obj).parent().parent().prev().html();
			//获取小计
			var total = num*price*1.00;
			//获取小计标签
			var $subtotal = $(obj).parent().parent().next();
			//小计价钱写入标签中
			$subtotal.text(total.toFixed(2));
			productCount();
			$("#goods_nums").text(  parseInt($("#goods_nums").text()) + 1 );
		}
	},"text");
}

//保留两位小数的方位
function returnFloat(value){
	//Math js中的静态的数学对象  round四舍五入
	 var value=Math.round(value*100)/100;
	//转换成字符串并以.分割成数组
	 var xsd=value.toString().split(".");
	//判断数组长度
	 if(xsd.length==1){ //整数
	 	value=value.toString()+".00";//拼接
		return value;
	 }
	 if(xsd.length>1){ //带小数
	 	if(xsd[1].length<2){
	 		value=value.toString()+"0";
	 	}
		 return value;
	}
}

//删除商品
function delGoods(obj, cno){
	//温馨提示
	var result = confirm("您确定要删除购物车中当前商品吗？");
	if (!result) {
		return;
	}
	
	$.post("../../cartInfo/del", {cno:cno}, function(data){
		data = parseInt($.trim(data));
		if (data > 0) {
			var num = $(obj).parent().parent().find("input[type='text']").val();
			$("#show_count").text(  parseInt($("#show_count").text()) - 1 );
			$("#goods_nums").text( parseInt($("#goods_nums").text()) - num );
			
			//找到对应的UL
			$ul = $(obj).parent().parent();
			//判断
			$ul.remove();
			productCount();
			geCarNnm(mno);
		}
	}, "text");
}

//全选和全不选
$("#all").click(function(){
	//获取全选是否被选中
	//prop 获取标签的固有属性  attr 自动义的属性
	var flag = $(this).prop("checked");
	//判断    
	$(".cart_list_td ul .col01 input").prop("checked",flag);
	productCount();
});





//商品数量的减法
function lost(obj, cno){
	//获取购物车中点击的商品数量
	var num = $(obj).next().val();
	//判断此商品的数量是否大于1
	if( num <= 1){
		alert("数量不能再减少了..");
		return; 
	}
	num--;
	$.post("../../cartInfo/update", {cno:cno, num:-1}, function(data) {
		data = parseInt($.trim(data));
		if (data > 0) {
			//数量写入标签中
			$(obj).next().val(num);	
			//获取单价
			var price = $(obj).parent().parent().prev().html();
			//获取小计
			var total = num*price*1.00;
			//获取小计标签
			var $subtotal = $(obj).parent().parent().next();
			//小计价钱写入标签中
			total = returnFloat(total);
			$subtotal.text(total);
			
			productCount();
			$("#goods_nums").text(  parseInt($("#goods_nums").text()) - 1 );
		}
	},"text");
}
//登录
function menberLogin() {
	 localStorage.setItem("targetUrl", location.href);
	 location.href="login.html";
} 

//注销
function logout() {
	 $.post("../../menberInfo/logout", null ,function(data){
		 localStorage.setItem("targetUrl", location.href);
		 location.href="login.html";
	 },"text");
} 


//检查登录
$.post("../../menberInfo/checkLogin", null , function(data){
	mno=data.mno;
	var str ='';
	if(!data.code){			
		str += '<div class="login_btn fl"><a href="#">欢迎您 &nbsp;['+data.nickName+']</a><span> | </span>';
		str += '<a href="javascript:logout">注销</a><span> | </span><a href="../../register.html">注册</a></div>';
		geCarNnm(mno);
	} 
	str += '<div class="user_link fl"><span> | </span><a href="user.html">用户中心</a><span> | </span>';
	str += '<a href="order.html">我的订单</a></div> ';
	$("#stu_name").html(str);
	finds();
}, "json");

function finds(){
	//购物车中信息打印
	$.post("../../cartInfo/finds", {mno:mno}, function(data){
		var carStr='';
		for(var i=0;i<data.length;i++){
			
			carStr+='<ul> <li class="col01"><input type="checkbox" checked value='+data[i].gno+' onclick="check(this)"></li>';
			carStr+='<li class="col02"><img src="../../'+data[i].pics+'"></li>';
			carStr+='<li class="col03">'+data[i].gname+'<br><em>'+data[i].price+'元/500g</em></li>';
			carStr+='<li class="col04">500g</li>';
			carStr+='<li class="col05" >'+data[i].price+'</li>';
			carStr+='<li class="col06">';
			carStr+='<div class="num_add">';
			carStr+='<a href="javascript:void(0)" onclick="lost(this,'+data[i].cno+')" class="minus fl">-</a>';
			carStr+='<input type="text" value="'+data[i].num+'" class="num_show fl" >';
			carStr+='<a href="javascript:void(0)" onclick="add(this,'+data[i].cno+')" class="add fl">+</a> </div> </li>';
			carStr+='<li class="col07" id="total1">'+total(data[i].num,data[i].price)+'</li>';
			carStr+='<li class="col08"><a href="javascript:;" onclick="delGoods(this, '+data[i].cno+')">删除</a></li> </ul>';			
		}		
		$("#goods").html(carStr);
		productCount();
	},"json");
}


//计算商品总额的方法
function productCount(){
	var total=0;  //总价
	var price;//每一行的市场价
	var number;//每一行的数量
	var numbers=0;//总数量
	var myul=$(".cart_list_td ul");

	for(var i=0;i<myul.length;i++){//循环每一行
		if ($(myul[i]).find("input[type='checkbox']").prop("checked") ){
			price=$(".cart_list_td  ul:eq("+i+")").find(".col05").html();
			number=$(".cart_list_td  ul:eq("+i+")").find(".col06 input").val();
			total+=price*number;
			numbers+= number*1.0;
		}
	}
	$("#totalPrices").html(total.toFixed(2));
	$("#totalNumbers").html(numbers);
}

function check(obj){//全选
	var myul=$(".cart_list_td ul");
	var flag=true;
	for(var i=0;i<myul.length;i++){//循环每一行
		if (!$(myul[i]).find("input[type='checkbox']").prop("checked") ){
			flag=false;
		}
	}
	$("#all").prop("checked",flag);
	productCount();
}
///计算小计
function total(num,price){
	
	//获取小计
	var total = num*price*1.00;
	//小计价钱写入标签中
	$("#total1").val(total.toFixed(2));	
	total=total.toFixed(2)
	return total;	
	//小计价钱写入标签中
}


function geCarNnm(mno){
	$.post("../../cartInfo/finds", {mno:mno}, function(data){
		var numStr=data.length;		    	
		$("#show_count").html(numStr);
		$("#nums").html(numStr);
	},"json");	
}

function find(){
	var str=$("#inp").val();
	$.post("../../goodsInfo/find",{str:str},function(data){
		console.log(data);
		if(data==null){
			alert("抱歉,没有该商品...");
			console.log("抱歉,没有该商品...");
		}else{					
			location.href="details.html?gno="+data.gno;
		}
	},"json");
}

function buy(){
		var all=$("#all");
		var myul=$(".cart_list_td ul");
		var str='pay.html?';
		var flag=false;
		for(var i=0;i<myul.length;i++){//循环每一行
			if ($(myul[i]).find("input[type='checkbox']").prop("checked") ){
				var gno=$(myul[i]).find("input[type='checkbox']").prop("value");
				var num=$(myul[i]).find("input[type='text']").prop("value");
				str+='gno'+(i+1)+'='+gno+'&num'+(i+1)+'='+num+'$';
				flag=true;			
			}
		}		
		if(flag){
			str=str.substr(0,str.length-1);
			str+='#flag=true';
			location.href=str;		
		}else{
			alert("没有选择商品,无法结算...");
			return;
		}	
}